A. Technical Field
The present invention relates generally to the configuration of Redundant Array of Independent Disks (“RAID”), and more particularly, to the method for storing RAID configuration data external to disk drives within a RAID.
B. Background of the Invention
RAID storage systems employ multiple disk drives for storing redundant information among the drives so that lost data may be reconstructed in the event of drive failure or data corruption. The use of multiple drives increases data integrity, fault-tolerance and overall performance. A RAID storage system typically also includes a controller(s) to manage the storage of data on the disks. A RAID controller may be hardware, firmware or a software RAID controller.
A hardware RAID controller has large silicon area where any additional information, such as RAID configuration details can easily be stored. Typically, in a hardware-based RAID solution, the RAID configuration details are stored on the disks as well as on some dedicated chips such as a flash memory. The disks are basically arranged in multiple arrays in a RAID storage system. When one or more disks within an array fail, or any error occurs, the configuration of the RAID system may become corrupted. In order to re-configure the RAID system, the configuration details are retrieved from the disks if available, or from the dedicated chips. The lost configuration data is generally re-written back on the controller by accessing these dedicated chips or flash chips. Thereafter, the system is rebooted.
However, in a software-based RAID solution, certain configuration data, including current configuration data, are stored only on the disks within the RAID and not in other locations within the RAID or host system. FIG. 1 illustrates an exemplary host and RAID system which includes a RAID 100 having certain configuration data stored on the disk 105. Whenever the system boots up, the operating system 101 reads the configuration details 106 stored on the disks 105 in order to identify the current RAID or disk configuration.
If one or more disks 105 is malfunctioning (either partially or a complete failure), the host system may not be able to retrieve the most current disk configuration data. As a result, it may become difficult to recreate a current RAID configuration or identify and associate certain disks within the particular array.
In a typical scenario, a single or plurality of disks within a RAID may fail or otherwise become corrupted. The failed or corrupted disks may give rise to a disk configuration mismatch or configuration failure. A user may want to recreate the exact configuration, which was present previously. However, since the configuration details were stored only on the disks, data relating to this configuration may be lost.
FIG. 2 shows a RAID storage system 200 having four disk drives 202-205 and a RAID controller 201. Configuration data 209 of the disks is present in software written on each of the RAID storage drives. If one of the drives fails then the configuration data would be lost or irretrievable in that particular drive. For example, a RAID may have drive 1 202, drive 2 203, drive 3 204 and drive 4 205 that are configured together. During the operation of the RAID, a particular drive fails and a user replaces the failed drive. This drive replacement may result in a configuration-mismatch scenario where it is difficult, if not impossible, to predict the earlier configuration.
What is needed is a method and apparatus that addresses the above described limitations.